package webServicesSubastador;

import entidades.Usuario;
import entidadesSubastador.Puja;
import entidadesSubastador.UsuarioSubastador;
import interfacesWebServiceSubastador.InterfazWebServiceSubastador;
import java.util.ArrayList;
import javax.ejb.Remote;
import javax.ejb.Stateless;
import javax.jws.WebService;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;

import objetosNegocio.ObjetoNegocioWerServiceSubastador;

/**
 * Session Bean implementation class WebServiceSubastador
 */
@Stateless
@Remote( { InterfazWebServiceSubastador.class })
@WebService(endpointInterface="interfacesWebServiceSubastador.InterfazWebServiceSubastador")
public class WebServiceSubastador implements InterfazWebServiceSubastador 
{
	@PersistenceContext(unitName="ClasesSubastador")
	private EntityManager manager;
	
	private ObjetoNegocioWerServiceSubastador objetoNegocioWerServiceSubastador;
	
    public ArrayList<Puja> obtenerVendedores(Usuario usuario) 
    {
    	instanciarObjetoNegocio();
		return objetoNegocioWerServiceSubastador.obtenerVendedores(usuario);
    }

	
    public UsuarioSubastador obtenerUsuarioPorcodigo(Usuario usuario) 
    {
    	instanciarObjetoNegocio();
		return objetoNegocioWerServiceSubastador.obtenerUsuarioPorcodigo(usuario);
    }

	/**
     * @see InterfazWebServiceSubastador#estaUsuario(Usuario)
     */
    public UsuarioSubastador estaUsuario(Usuario usuario)
    {
    	instanciarObjetoNegocio();
		return objetoNegocioWerServiceSubastador.estaUsuario(usuario);
    }


    private void instanciarObjetoNegocio()
    {
    	if(objetoNegocioWerServiceSubastador == null)
    	{
    		objetoNegocioWerServiceSubastador = new ObjetoNegocioWerServiceSubastador(manager);
    	}
    }
}
